package com.producteev4j.services.version0;

import com.producteev4j.transport.ProducteevTransport;
import com.producteev4j.exceptions.ProducteevException;
import com.producteev4j.model.response.Label;
import com.producteev4j.model.response.LabelWrapper;
import com.producteev4j.model.response.TaskWrapper;

import java.util.Date;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: jcarrey
 * Date: 2/07/11
 * Time: 12:27
 * To change this template use File | Settings | File Templates.
 */
public interface ProducteevLabelService {


    Label getLabel(ProducteevTransport transport, String userToken, long idLabel) throws ProducteevException;

    List<? extends LabelWrapper> getLabels(ProducteevTransport transport, String userToken, long idDashboard, Date since, Integer page) throws ProducteevException;

    Label createLabel(ProducteevTransport transport, String userToken, long idDashboard, String title) throws ProducteevException;

    boolean deleteLabel(ProducteevTransport transport, String userToken, long idLabel) throws ProducteevException;

    List<? extends TaskWrapper> getTasksWithLabel(ProducteevTransport transport, String userToken, long idLabel, Integer page) throws ProducteevException;

    Label setLabelTitle(ProducteevTransport transport, String userToken, long idLabel, String title) throws ProducteevException;

}
